package com.itheima.exam.Exam6;

import java.util.*;

//1. 请将下面人员信息按以下顺序存放至一个ArrayList集合中，要求定义一个标准类Person
//人员信息为：
//姓名  年龄   地址
//张成   28    甘肃
//刘安   37    宁夏
//刘墉   40    山东
//和珅   35    北京
//和二   36    北京
//纪晓岚 39    山西
//刘安   37    宁夏
//2. 要求随机输出一个人员信息
//
//3. 删除该集合中和姓人员
//
//4. 如集合中有重复人员，请去掉重复人员信息(要求采用Set集合)
//
//5. 修改纪晓岚的地址信息为河北
//
//6. 打印输出大于35岁的所有人员信息
public class Exam6 {
    public static void main(String[] args) {

        Person p1 = new Person("张成", 28, "甘肃");
        Person p2 = new Person("刘安", 37, "宁夏");
        Person p3 = new Person("刘墉", 40, "山东");
        Person p4 = new Person("和珅", 35, "北京");
        Person p5 = new Person("和二", 36, "北京");
        Person p6 = new Person("纪晓岚", 39, "山西");
        Person p7 = new Person("刘安", 37, "宁夏");
        Person [] all = {p1,p2,p3,p4,p5,p6,p7};
        List<Person> list = new ArrayList<>();
        for (Person person : all) {
            list.add(person);
        }
        //要求随机输出一个人员信息
        Collections.shuffle(list);
        System.out.println(list.get(0));
        System.out.println("----------");
        //3. 删除该集合中和姓人员
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).getName().startsWith("和")){
                list.remove(i);
                i--;
            }
        }
        System.out.println(list);
        System.out.println("----------");
        //4. 如集合中有重复人员，请去掉重复人员信息(要求采用Set集合)
        Set<Person> set = new HashSet<>();
        for (Person person : list) {
            set.add(person);
        }
        System.out.println(set);
        System.out.println("----------");
        //5. 修改纪晓岚的地址信息为河北
        for (Person person : list) {
            if(person.getName().equals("纪晓岚")) {
                person.setAddress("河北");
            }
        }
        System.out.println(list);
        System.out.println("----------");
        //6. 打印输出大于35岁的所有人员信息
        for (Person person : set) {
            if(person.getAge() > 35) {
                System.out.println(person);
            }
        }

    }
}
